package com.diaohaiwen.basic.file.obj.model.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 文件分组 表定义层。
 *
 * @author 刁海文
 * @since 2023-12-16 22:41:40
 */
public class CatalogsDef extends TableDef {

    /**
     * 文件分组
     */
    public static final CatalogsDef Catalogs = new CatalogsDef();

    /**
     * ID
     */
    public final QueryColumn Id = new QueryColumn(this, "id");

    /**
     * 分组名称
     */
    public final QueryColumn Name = new QueryColumn(this, "name");

    /**
     * 创建时间
     */
    public final QueryColumn Created = new QueryColumn(this, "created");

    /**
     * 更新时间
     */
    public final QueryColumn Updated = new QueryColumn(this, "updated");

    /**
     * 父级分类ID
     */
    public final QueryColumn ParentId = new QueryColumn(this, "parent_id");

    /**
     * 租户号
     */
    public final QueryColumn TenantId = new QueryColumn(this, "tenant_id");

    /**
     * 用户ID
     */
    public final QueryColumn AccountId = new QueryColumn(this, "account_id");

    /**
     * 创建人
     */
    public final QueryColumn CreatedBy = new QueryColumn(this, "created_by");

    /**
     * 更新人
     */
    public final QueryColumn UpdatedBy = new QueryColumn(this, "updated_by");

    /**
     * 描述
     */
    public final QueryColumn Description = new QueryColumn(this, "description");

    /**
     * 所有字段。
     */
    public final QueryColumn AllColumns = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DefaultColumns = new QueryColumn[]{Id, Name, AccountId, Description, ParentId, TenantId, CreatedBy, Created, UpdatedBy, Updated};

    public CatalogsDef() {
        super("", "catalogs");
    }

}
